gtkwindowhandle: Avoid gdk_device_get_associated_device()
authorCarlos Garnacho <carlosg@gnome.org>
Thu, 30 Jul 2020 12:28:59 +0000 (14:28 +0200)
committerCarlos Garnacho <carlosg@gnome.org>
Thu, 30 Jul 2020 16:19:44 +0000 (18:19 +0200)
Query the seat for that.

gtk/gtkwindowhandle.c

index 4818f78bc602d960f475f959132ad82f0212a4e0..1792f5c47f17ba9b17af6606496699a32c0b7e69 100644 (file)
@@ -157,6 +157,7 @@ do_popup_fallback (GtkWindowHandle *self,
 {
   GdkRectangle rect = { 0, 0, 1, 1 };
   GdkDevice *device;
+  GdkSeat *seat;
   GtkWidget *box, *menuitem;
   GtkWindow *window;
   gboolean maximized, resizable, deletable;
@@ -186,9 +187,10 @@ do_popup_fallback (GtkWindowHandle *self,
 
 
   device = gdk_event_get_device (event);
+  seat = gdk_event_get_seat (event);
 
-  if (device && gdk_device_get_source (device) == GDK_SOURCE_KEYBOARD)
-    device = gdk_device_get_associated_device (device);
+  if (device == gdk_seat_get_keyboard (seat))
+    device = gdk_seat_get_pointer (seat);
 
   if (device)
     {